#!/bin/env ruby

require "./Objet.rb"

##
#=Classe Nourriture
#La classe Nourriture gère les interactions possibles entre Heros et la Nourriture. 
#
#=Variables d'instance :
#[@energie] Représente l'énergie qui s'ajoute à l'energie du Heros si ce dernier la mange
#
class Nourriture < Objet
	
	@energie
	
	private_class_method :new
	
	# Méthode de création
	def Nourriture.fabriquer(id,nom,energie)
		new(id,nom,energie)
	end
	
	# Méthode d'initialisation	
	def initialize(id,nom,energie)
		super(id,nom)
		@energie	= energie
	end

    # Renvoie la valeur d'energie de la Nourriture
	def getEnergie
		return @energie
	end
	
    # Affecte @energie avec la valeur passée en paramètre
	def setEnergie(stat)
		@energie=stat
	end
	
	# Méthode d'utilisation d'un objet
	def seFaireRamasserPar(heros, score)
		consommerPar(heros)
      score.augmenterNbNourritureUtilisee()
	end
	
	# Ajoute les bonus de la Nourriture au statistiques du Heros et la retire de son Inventaire
	def consommerPar(heros)
		heros.augmenterEnergie(@energie)
		heros.getInventaire().retirerElt(self)
	end
	
	# Méthode d'affichage
	def to_s
		return super()+" energie : #{@energie}"
	end
	
end # Marqueur de fin de classe
